功耗调整指引
1. 打开/关闭 组件¶
1.1. 可选的组件¶
在Infinity-6上可选使能的组件有 : ETH 和 USB
1.2. ETH¶
需要在U-Boot及Linux Kernel进行调整才能完全关闭该组件
1.2.1. 调整U-Boot¶
取消MSTAR EMAC的选项
图1-1
1.2.2. 调整Linux Kernel¶
-
取消EMAC的选项
图1-2
-
取消Networking support的选项
图1-3
-
取消Mstar NOTIFY driver的选项
图1-4
1.3. USB¶
需要在U-Boot及Linux Kernel进行调整才能完全关闭该组件
1.3.1. 调整U-Boot¶
取消MSTAR USB的选项
1.3.2. 调整Linux Kernel¶
修改文件linux-4.9/arch/arm/boot/dts/infinity6b0.dtsi (调整status =“disabled”来关闭USB)
2. 组件时钟频率配置¶
2.1. CPU 时钟频率配置¶
2.1.1. Voltage scaling 配置¶
-
提供voltage scaling的切换,预设是关闭。可通过如下命令设置开启该配置。
echo 1 > /sys/devices/system/voltage/core/scaling_voltage
-
该配置开启后,系统会自动针对目前的温度(T)来进行voltage的切换。切换策略如下:
T > -15C : VDD= 0.9V T < -20C : VDD = 1.0V
2.1.2. Clock scaling 配置¶
-
提供clock scaling范围设置,可通过入下命令设置clock scaling的范围。
echo s_min > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq (default 1GHz) echo s_max > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq (default 1GHz)
-
提供clock 设置
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor clock 固定运行在s_max echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor clock 可以在s_min 和s_max 之间切换。
-
设置约束:
-
s_min必须小于等于s_max
-
s_min必须大于等于/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_min_freq
-
s_max必须小于等于/sys/devices/system/cpu/cpufreq/policy0/cpuinfo_max_freq
-
2.2. ISP 时钟频率配置¶
2.2.1. ISP配置示例¶
在isp.ko, ispmid.ko加载之后,开启视频处理任务之前,即可通过如下命令设置相关频率:
-
读取目前的isp clock rate,可通过以下命令取得
cat /sys/devices/virtual/mstar/isp0/isp_clk
-
设置isp clock rate,可通过以下命令设置
echo 240000000 > /sys/devices/virtual/mstar/isp0/isp_clk
2.2.2. ISP时钟频率档位¶
-
72000000
-
86000000
-
123000000
-
144000000
-
172000000
-
192000000
-
216000000
-
240000000
2.2.3. 约束¶
以上的设置应该在模块加载完成之后操作模块功能之前设置,才能正确的生效。
2.3. 编码时钟频率配置¶
2.3.1. 编码器配置示例¶
在mhal.ko加载之后,开启视频处理任务之前,即可通过如下命令设置相关频率:
-
读取目前的clock rate,可通过以下命令取得
cat /sys/venc/ven_clock cat /sys/venc/ven_clock_2nd
-
设置clock rate,可通过以下命令设置
echo 288000000 > /sys/venc/ven_clock echo 288000000 > /sys/venc/ven_clock_2nd
2.3.1. 编码器时钟频率档位¶
-
144000000
-
172000000
-
216000000
-
240000000
-
288000000
-
320000000
-
345000000
-
384000000
2.3.2. 约束¶
以上的设置应该在模块加载完成之后操作模块功能之前设置,并在执行模块时才能正确的生效。320MHz、345MHz与384MHz三档依赖1V的cpu core电压。
2.4. VPE scaler 时钟频率配置¶
2.4.1. scaler时钟频率配置¶
在mhal.ko加载之后,开启视频处理任务之前,即可通过如下命令设置相关频率:
-
读取目前的clock rate,可通过以下命令取得
cat /sys/module/mhal/parameters/drv_dip_os.gDipClk
-
设置clock rate,可通过以下命令设置
echo 320000000 > /sys/module/mhal/parameters/drv_dip_os.gDipClk
2.4.2. scaler时钟频率档位¶
-
172000000
-
240000000
-
288000000
-
320000000
2.4.3. 约束¶
以上的设置应该在模块加载完成之后操作模块功能之前设置,并在执行模块时才能正确的生效。
2.5. 观察cpu的温度¶
cat /sys/devices/virtual/mstar/msys/TEMP_R
结果仅供参考,因为误差可以达到5摄氏度。